#include <iostream>

using namespace std;
const int N = 1e4 + 10;
int m , n;
int dp[N];
int t[N] , x[N] , y[N];
//dp[i]表⽰：如果消灭的最后⼀只是 位置鼹⿏时，最⻓能消灭多少鼹⿏。
int main()
{
    cin >> n >> m;
    int ret = 0;
    for(int i = 1;i <= m;i ++)
    {
        cin >> t[i] >> x[i] >> y[i];
        dp[i] = 1;
        for(int j = 1;j < i;j ++)
        {
            if(t[i] - t[j] >= abs(x[i] - x[j]) + abs(y[i] - y[j]))
            {
                dp[i] = max(dp[i] , dp[j] + 1);
            }
        }
        ret = max(ret , dp[i]);
    }
    cout << ret << endl;

    return 0;
}